home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / util / cli / AKCC.lha / Programmers / include / akccplus / akccplus.h < prev    next >
C/C++ Source or Header  |  2000-04-22  |  3KB  |  115 lines

  1. /*
  2. **      $VER: akccplus.h 37.1 (6.9.96)
  3. **
  4. **      main include for akccplus.library
  5. **
  6. **      (C) Copyright 1989-96 Andreas R. Kleinert
  7. **      All Rights Reserved.
  8. */
  9.  
  10. #ifndef AKCCPLUS_AKCCPLUS_H
  11. #define AKCCPLUS_AKCCPLUS_H
  12.  
  13. #ifndef N
  14. #define N NULL     /* useful */
  15. #endif /* N */
  16.  
  17.  
  18. /* MACROs for BPTR-Handling */
  19.  
  20. #define TOBPTR(x) ( ((ULONG) x) >> 2)
  21. #define TOAPTR(x) ( ((ULONG) x) << 2)
  22.  
  23.  
  24. /* MACRO for Library Version-Test */
  25.  
  26. #define LibVer(x) ( ((struct Library *) x)->lib_Version )
  27.  
  28.  
  29. /* Codes returned by TestEntry() */
  30.  
  31. #define AKCC_TESTED_FILE      (1005L)
  32. #define AKCC_TESTED_DIR       (1006L)
  33. #define AKCC_TESTED_NOT_EXIST (AKCC_FALSE)
  34.  
  35.  
  36. /* AKCC-Errorcodes */
  37.  
  38. #define AKCC_FALSE (N)
  39. #define AKCC_TRUE  (TRUE)
  40.  
  41.  
  42. /* Remarks :
  43.  *                                         *
  44.  * 1200 chars are the maximum length for a text to be produced by         *
  45.  * AKCC_FPrintf().                                                           *
  46.  *                                         *
  47.  * (Subject to change ...)                                                   */
  48.  
  49. /* Test-Strings for "AKCC_WildCmp(orig, wild)" :                             *
  50.  *                                         *
  51.  * ABCDD     |       *D      -> TRUE                         *
  52.  * ABCDD     |      *DD      -> TRUE                         *
  53.  * ABCD      |      *DD      -> FALSE (!!!)                                     *
  54.  * ABCDD     |    A*C*D      -> TRUE                         *
  55.  * ABCDD     | A*C*D*      -> TRUE  (!!!)                                     *
  56.  * ABCDD     |     *CDD      -> TRUE                         *
  57.  * ABCDD     |    ?BCDD      -> TRUE                         *
  58.  * ABCDD     |     ?CDD      -> FALSE (!!!)                                     *
  59.  *                                         *
  60.  * Equivalents :                                 *
  61.  *                                         *
  62.  *  1. A? and AB? are both "equal" to AB (result : TRUE)                     *
  63.  *  2. A* and AB* are both "equal" to AB (result : TRUE)                     *
  64.  *                                         *
  65.  *  So "?" stands for "ONE or NO" chars                                      *
  66.  *  and "*" stands "UNLIMITED or NO" chars !!!                               *
  67.  *                                         *
  68.  * (Subject to more improvements ...)                                        */
  69.  
  70. struct DateStruct /* returned by "AKCC_GetDate(dos_rawdate)" */
  71. {
  72.  long ads_sec;
  73.  long ads_min;
  74.  long ads_hour;
  75.  long ads_day;
  76.  long ads_month;
  77.  long ads_year;
  78. };
  79.  
  80. struct PathList   /* This one is perhaps missing in the Dos-Includes */
  81. {
  82.  BPTR pl_Next; /* Next entry, if not zero. */
  83.  BPTR pl_Lock; /* The Lock itself.       */
  84. };
  85.  
  86.  /* Note : The PathList structure is allocated via AllocMem() under
  87.        OS V33-V35, but under OS V37+ AllocVec() is used for this.
  88.        Delocation has to be done via FreeVec() under V37+.
  89.        The behaviour of the Beta-OS V36 is supposed to be the same
  90.        as V33-V35. This is a possible bug-source !!!
  91.  */
  92.  
  93.  
  94. /* 'Parsing'-Codes for "AKCC_ParseText(orig, new)" :                         *
  95.  *                                         *
  96.  * Textstyles and their Codes :                          *
  97.  *                \N    : Normal                 *
  98.  *                \B    : Bold                     *
  99.  *                \I    : Italics                 *
  100.  *                \U    : Underlined                 *
  101.  *                \R    : Reverse                 *
  102.  * Colors              :                          *
  103.  *                \C=<FG>,<BG>                     *
  104.  * Characters              :                          *
  105.  *                \\                         *
  106.  *                \42    : "                                  *
  107.  * 'Formatters' and their Codes :                                            *
  108.  *                \n    : linefeed                 *
  109.  *                \b    : backspace                 *
  110.  *                \f    : clrscr                 *
  111.  *                \t    : TAB                     *
  112.  *                \r    : carriage return             */
  113.  
  114. #endif /* AKCCPLUS_AKCCPLUS_H */
  115.